package com.yunding.enums;

/**
 * <p>
 *  返回值状态码
 * </p>
 *
 * @author 郭思良
 * @create 2020-07-23 15:38
 */


public enum ResultStatuesEnums {

    /*返回结果状态：200成功、5000失败*/
    SUCCESS(200, "操作成功"),
    FAIL(5000, "操作失败"),

    // 全局异常处理的返回信息
    GLOBAL_SYSTEM_EXCEPTION_HANDLER_ERROR(5001, "内部错误"),
    GLOBAL_EXCEPTION_HANDLER_ERROR(5002, "未知错误"),

    // 未登录
    NOT_LOGIN(4000, "未登录"),
    // 无效的token
    BAD_TOKEN(4001, "无效的token"),
    // 权限不足
    BAD_ROLE(4003, "权限不足"),
    // 请求参数错误
    BAD_PARAMETER(4004, "无效的参数"),

    // 手机号与密码不符
    LOGIN_PASSWORD_ERROR(4005, "手机号与密码不符"),
    // 验证码错误
    VERIFY_CODE_ERROR(4006, "验证码错误"),

    // 已绑定微信却再次绑定
    BIND_AGAIN(4007, "已被绑定"),
    // 用户没有绑定微信
    NOT_BIND(4008, "用户未绑定微信"),

    // 手机号已经存在
    PHONE_EXIST(4009, "该手机号已被注册"),
    // 用户不存在，即用户id不正确
    USER_NOT_EXIST(4010, "用户不存在"),
    PHONE_REGEX_NOT_EXIST(4011,"手机号格式错误"),

    // 个人消息不存在
    INFORMATION_NOT_EXITS(4012, "无此信息"),
    INFORMATION_TYPE_NOT_EXITS(4013, "无效的类型"),
    PASSWORD_TWO_NOT_EQUALS(4014,"两密码不相同"),
    USER_LOCKED(4015,"用户被禁用")

    ;

    /**
     * 状态码
     */
    private int code;

    /**
     * 返回消息
     */
    private String message;

    ResultStatuesEnums(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public static String toPrettyString() {
        StringBuilder sb = new StringBuilder();
        ResultStatuesEnums[] values = ResultStatuesEnums.values();

        for (ResultStatuesEnums value : values) {
            sb.append(value.code).append(": ").append(value.message).append("\n");
        }

        return sb.toString();
    }

}
